Traceroute is a computer network tool used to discover a path a packet takes from an originating host to a remote host. Traceroute can be used on Internet Protocol (IP) networks (e.g., IPv4 or IPv6). Traceroute is typically implemented by sending a series of messages addressed to a remote destination beginning with a “time-to-live” (TTL) value of one in the first message and incrementing the TTL in each successive message until the remote destination is reached. When a message passes through a network device, such as a router or a gateway, the TTL value is decremented by one before forwarding the message to the next network device to keep it moving on its way to the remote destination. When the TTL becomes zero, the receiving network device will discard the message and respond with an error message indicating that the message's time to live has expired. When a message reaches its remote destination, different techniques can be used to indicate that the message's destination has been reached. For example, a UDP-based traceroute tool may use an unusually high port number so that instead of a “time exceeded” error message, a “destination unreachable code” or “port unreachable code” error message is returned. Traceroute can capture and organize the error messages to display a route through the network to the remote destination.